package org.zffc.common.util.helper;

import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @Author zhangfei
 * 手动分页方法
 */
public class PageHelper {

    /**
     * Stream 手动分页
     * @param dataList  数据列表
     * @param pageNum   当前页
     * @param pageSize  每页显示条数
     * @param <T>       数据类型
     * @return          page
     */
    public static <T> PageResult<T> getPageResult(List<T> dataList, int pageNum, int pageSize) {
        PageResult<T> propertyPage = new PageResult<>();
        propertyPage.setTotal(Long.parseLong(String.valueOf(dataList.size())));
        dataList = dataList.stream().skip(new BigDecimal(pageNum - 1).multiply(new BigDecimal(pageSize)).longValue()).limit(pageSize).collect(Collectors.toList());
        propertyPage.setRecords(dataList);
        propertyPage.setCurrent(pageNum);
        propertyPage.setSize(pageSize);
        return propertyPage;
    }

}
